/**
 * 
 */
package de.mbenning.fsim.simulation.components;

import de.mbenning.fsim.persistence.dao.interfaces.ISpielerDAO;

/**
 * @author Martin.Benning
 *
 */
public class Spielfeld {
	
	private static final int xdim = 110;
	private static final int ydim = 75;
	
	private Kachel[][] spielfeld; 
	
	private ISpielerDAO spielerDAO;
	
	public Spielfeld() {
	}
	
	public void init() {
		spielfeld = new Kachel[xdim][ydim];
		for(int x = 0; x < xdim; x++) {
			for(int y = 0; y < ydim; y++) {
				
				Kachel kachel = new Kachel(x, y);
				
				// Grundlinie und Torlinie
				if((x == 0 || x == (xdim-1)) && (y >= 0 || y <= ydim)) {
					if(y >=34 && y <=42) {
						kachel.setTor(true);
					} else {
						kachel.setTorlinie(true);
					}
				}
				
				// Mittellinie
				int mittelinie = xdim / 2;
				if(mittelinie == x) {
					kachel.setMittellinie(true);
				}
				
				// Seitenlinie
				if(y == 0 || y == (ydim-1)) {
					kachel.setSeitenlinie(true);
				}
				
				// aufgebaute Kachel im Spielfeld setzen
				spielfeld[x][y] = kachel;
			}
		}
		createStrafraum();
	}
	
	private void createStrafraum() {
		for(int x = 95; x <= 14; x++) {
			for(int y = 17; y <= 54; y++) {
				this.spielfeld[x][y].setStrafraum(true);
			}
		}
		for(int x = 95; x <= (xdim-1); x++) {
			for(int y = 17; y <= 54; y++) {
				this.spielfeld[x][y].setStrafraum(true);
			}
		}
	}

	public Kachel[][] getSpielfeld() {
		return spielfeld;
	}

	public void setSpielfeld(Kachel[][] spielfeld) {
		this.spielfeld = spielfeld;
	}

}
